package com.distortiongames.level27.logic
{
	
	/**
	 * ...
	 * @author Jefferson Wagner
	 */
	public class Being
	{
		public static const BASE_MOVEMENT:Number = 2.0;
		
		// Base
		private var _strength:Statistic;
		private var _agility:Statistic;
		private var _affinity:Statistic;
		private var _intelligence:Statistic;
		private var _endurance:Statistic;
		private var _vigor:Statistic;
		private var _speed:Statistic;
		
		//  Neutral
		private var _defense:Statistic;
		
		// Derived
		private var _attack:Statistic;
		private var _magicAttack:Statistic;
		private var _magicDefense:Statistic;
		private var _movementSpeed:Statistic;
		private var _attackSpeed:Statistic;
		private var _health:Statistic;
		private var _healthRegen:Statistic;
		
		private var weapon:Weapon;
		
		public function Being()
		{
			_strength = new Statistic("Strength");
			_agility = new Statistic("Agility");
			_affinity = new Statistic("Affinity");
			_endurance = new Statistic("Endurance");
			_vigor = new Statistic("Vigor");
			_speed = new Statistic("Speed");
			_defense = new Statistic("Defense");
			
			_attack = new Statistic("Attack");
			_magicAttack = new Statistic("Magic Attack");
			_magicDefense = new Statistic("Magic Defense");
			_movementSpeed = new Statistic("Movement Speed");
			_attackSpeed = new Statistic("Attack Speed");
			_health  = new Statistic("Health");
			_healthRegen = new Statistic("Health Regen");
		}
		
		public function recalculateStatistics() {
			_attack.base = weapon.damage + _strength.current * weapon.strengthModifier;
			_magicAttack.base = _affinity.current;
			_magicDefense.base = _affinity.current / 2;
			_movementSpeed.base = BASE_MOVEMENT - _speed.current / 50;
			_attackSpeed.base = 
		}
	
	}

}